enhance: retry build processing on failed server comms #594
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Similar to our server compilation retry loop, we can avoid killing the worker on failed server communications by adding the same logic. These failings come from network blips and timeouts mainly, and simply pausing should give the worker another chance at processing the build. This will limit "dropped" builds, and — if the admins choose worker registration — unregistered workers.
Example pipeline:
Testing process (shell):
The above will result in a complete loss of the build if the registration process is not enabled OR an unregistered worker if the registration process is enabled. Either way, this isn't ideal.
Now, with this change, the worker will process the second build so long as the server isn't down for a long time.